import Vue from 'vue'
import VueRouter from 'vue-router'
import store from '../store'

Vue.use(VueRouter)
//导出数据给menu的form.vue组件
 export const IndexRoutes=[{
  path: 'manage',
  component: () => import('../pages/manage/manage.vue'),meta:{
    title:'管理员管理'
  }
},
{
  path: 'menu',
  component: () => import('../pages/menu/menu.vue'),meta:{
    title:'菜单管理'
  },
},
{
  path: 'cate',
  component: () => import('../pages/cate/cate.vue'),meta:{
    title:'商品分类'
  }
},
{
  path: 'role',
  component: () => import('../pages/role/role.vue'),meta:{
    title:'角色管理'
  }
},
{
  path: 'specs',
  component: () => import('../pages/specs/specs.vue'),meta:{
    title:'商品规格'
  }
},
{
  path: 'member',
  component: () => import('../pages/member/member.vue'),meta:{
    title:'会员管理'
  }
},
{
  path: 'banner',
  component: () => import('../pages/banner/banner.vue'),meta:{
    title:'轮播图管理'
  }
},

{
  path: 'seckill',
  component: () => import('../pages/seckill/seckill.vue'),meta:{
    title:'秒杀活动'
  }
},
{
  path: "goods",
  component: () => import("../pages/goods/goods.vue"), meta: { title: "商品管理" }
},
]

const routes = [
  {
    path: '/login',
    component: () => import('../pages/login/login.vue'),
  },
  {
    path: '/',
    component: () => import('../pages/index/index.vue'),
    children: [
      {
        path: '',
        component: () => import('../pages/home/home.vue'),meta:{
          title:'首页'
        }
      },
      ...IndexRoutes
    ]
  },
  {
    path: '*',
    redirect: '/login'
  }
]

//路由守卫
IndexRoutes.forEach(item => {
  item.beforeEnter = (to, from, next) => {
    // 取出用户可以访问的所有路由
    let { userInfo: { menus_url } } = store.getters;
    // 判断是否包含当前路由，包含，next(),不包含，去首页
    if (menus_url.includes('/'+item.path)) {
      next()
    } else {
      next("/")
    }
  }
})


const router = new VueRouter({
  routes
})

//登录拦截 
router.beforeEach((to, from, next) => {
  if (to.path === "/login") {
    next()
    return;
  } 
  if (store.getters.userInfo.token) {
    next()
    return
  }
  // 3.未登录，next('/login')
  next("/login")
})

export default router
